Skip to content

Conversation

@alexxisaaps
Copy link

@alexxisaaps alexxisaaps commented Jan 9, 2025

New App Submission: Goal Tracker

A simple and elegant goal-tracking application built with GTK4 for elementary OS.

App Details

  • Name: Goal Tracker
  • Version: 1.0.1
  • ID: io.elementary.goaltracker
  • License: GPL-3.0+

Features

  • Create and manage multiple goal lists
  • Break down goals into manageable steps
  • Set deadlines for goals and steps
  • Mark items as complete
  • Daily motivational quotes
  • Native GTK4 interface following elementary OS HIG

Review Checklist

  • App opens
  • Does what it says
  • Categories match

AppData

  • Name is unique and non-confusing
  • Matches description
  • Matches screenshot
  • Launchable tag with matching ID
  • Release tag with matching version and YYYY-MM-DD date
  • OARS info matches

Flatpak

  • Uses elementary runtime
  • Sandbox permissions are reasonable

@alexxisaaps alexxisaaps requested a review from a team as a code owner January 9, 2025 22:46
Copy link
Member

@danirabbit danirabbit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey, thanks for your app submission! There's a few issues here that need to be resolved before it can be published:

  • Your application ID needs to reflect a URL that you have permission to write to. It can't start with "io.elementary". If you have a website it can reflect your website, otherwise it can reflect the url of your GitHub project page like io.github.alexxisaapps.elementary_goal_tracker. See also: https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-id-generic

  • It looks like your app is using the Adwaita stylesheet. It must use the elementary stylesheet to be published in AppCenter. You can make sure that the Adwaita stylesheet isn't loaded by calling Granite.init () before Adw.init () during your app's startup

  • your app requests some file system permissions it shouldn't have. You have hardcoded some file paths in your app instead of getting the correct paths inside of your app's sandbox. You should use GLib to get the correct paths. See also: https://valadoc.org/glib-2.0/GLib.Environment.get_user_data_dir.html and related functions

  • Your application should add its stylesheet as a custom resource instead of installing it to the filesystem. See this documentation section on custom resources: https://docs.elementary.io/develop/apis/gresource. Granite.init () will automatically load a resourced stylesheet named "Application.css"

Thanks again and please feel free to join our Discord and ask for more help if anything is unclear: https://discord.gg/pCenUBu

@alexxisaaps
Copy link
Author

Hey! Thanks for the feedback. Hopefully, it is better this time.

I've implemented all the requested changes in version 1.1.0:

  • Changed application ID to reflect GitHub URL
  • Moved CSS to GResource
  • Using GLib for proper sandboxed paths

The release can be found here: https://github.com/alexxisaaps/elementary-goal-tracker/releases/tag/v1.1.0

Please let me know if any other changes are needed.

@zeebok
Copy link
Contributor

zeebok commented Oct 16, 2025

@alexxisaaps Sorry for the long time since someone has looked at this. Since you updated the app to use the elementary stylesheet with Granite you should update the screenshots to reflect this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants